- form = local_assigns.fetch(:form)
- deploy_key = local_assigns.fetch(:deploy_key)
- deploy_keys_project = deploy_key.deploy_keys_project_for(@project)

= form_errors(deploy_key)

.form-group
  = form.label :title, class: 'col-form-label col-sm-2'
  .col-sm-10= form.text_field :title, class: 'form-control gl-form-input', data: { testid: 'deploy-key-title-field' }, readonly: ('readonly' unless can?(current_user, :update_deploy_key, deploy_key))

.form-group
  - if deploy_key.new_record?
    = form.label :key, class: 'col-form-label col-sm-2'
    .col-sm-10
      %p.light
        - link_start = "<a href='#{help_page_path('user/ssh')}' target='_blank' rel='noreferrer noopener'>".html_safe
        - link_end = '</a>'
        = _('Paste a public key here. %{link_start}How do I generate it?%{link_end}').html_safe % { link_start: link_start, link_end: link_end.html_safe }
      = form.text_area :key, class: 'form-control gl-form-input thin_area', rows: 5, data: { testid: 'deploy-key-field' }
  - else
    - if deploy_key.fingerprint_sha256.present?
      = form.label :fingerprint, _('Fingerprint (SHA256)'), class: 'col-form-label col-sm-2'
      .col-sm-10
        = form.text_field :fingerprint_sha256, class: 'form-control gl-form-input', readonly: 'readonly'
    - if deploy_key.fingerprint.present?
      = form.label :fingerprint, _('Fingerprint (MD5)'), class: 'col-form-label col-sm-2'
      .col-sm-10
        = form.text_field :fingerprint, class: 'form-control gl-form-input', readonly: 'readonly'

.form-group
  .col-sm-10
    = form.label :expires_at, _('Expiration date (optional)'), class: 'label-bold'
    = form.text_field :expires_at, class: 'form-control gl-form-input', readonly: 'readonly'

- if deploy_keys_project.present?
  = form.fields_for :deploy_keys_projects, deploy_keys_project do |deploy_keys_project_form|
    .form-group
      .col-form-label.col-sm-2
      .col-sm-10
        = deploy_keys_project_form.gitlab_ui_checkbox_component :can_push, _('Grant write permissions to this key'),
        help_text: _('Allow this key to push to this repository')
